const Configs = require("../model/configs.model.js");

class ConfigsService {
  //保存配置
  async saveConfigs({
    configId,
    company,
    descript,
    len,
    watchLen,
    locatorLen,
    dataFlag,
  }) {
    var update = false;
    var config = {};
    var whereOpt = {};
    if (configId && configId > 0) {
      update = true;
      whereOpt.configId = configId;
    }
    company && Object.assign(config, { company });
    descript && Object.assign(config, { descript });
    len >= 0 && Object.assign(config, { len });
    watchLen >= 0 && Object.assign(config, { watchLen });
    locatorLen >= 0 && Object.assign(config, { locatorLen });
    dataFlag >= 0 && Object.assign(config, { dataFlag });
    if (Object.keys(config).length == 0) {
      return false;
    }
    var res;
    try {
      if (update) {
        res = await Configs.update(config, { where: whereOpt });
        if (res[0] > 0) {
          config.configId = configId;
          return config;
        } else {
          return false;
        }
      } else {
        res = await Configs.create(config);
        if (res.dataValues == undefined) {
          return false;
        } else {
          return res.dataValues;
        }
      }
    } catch (error) {
      console.log(error);
      return null;
    }
  }
  //查询创建配置
  async getConfigs() {
    var update = false;
    var config = {
      company:"包头供电公司",
      descript:`包头供电公司是内蒙古电力（集团）有限责任公司直属国有特大型供电企业，负责建设运营包头市电网，供电区域近3万平方公里，承担着11个旗县区工农牧业生产及城乡290多万居民生活供电任务，管辖用户156万户。
      截至2021年底，公司资产总额80.93亿元，共有本部职能部门16个、供电分支机构11个、专业生产机构10个、营销服务机构4个、其他机构7个，员工总人数4443人。
      2021年售电量完成441.56亿千瓦时，电网运行500千伏变电站3座，220千伏变电站24座，110千伏及以下变电站118座；110千伏及以上输电线路3524.45公里。最大供电负荷635万千瓦。`,
      len:3000,
      watchLen:300,
      locatorLen:280,
      dataFlag:1,
    };
    var whereOpt = {};
    whereOpt.dataFlag = 1;
    if (Object.keys(config).length == 0) {
      return false;
    }
    var res;
    try {
      res = await Configs.findOrCreate({ where: whereOpt, defaults: config });
      return JSON.parse(JSON.stringify(res[0]));
    } catch (error) {
      console.log(error);
      return null;
    }
  }
}

module.exports = new ConfigsService();
